package cn.com.greatwall.common.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Author herw
 * @Time 2020-06-24 12:26:04 PM
 * @Version 1.0
 * @Description:用于判断是否过滤数据权限 <br/>
 *                           1、如果没有用到 @OneToOne 这种关联关系，只需要填写 fieldName
 *                           [参考：DeptQueryCriteria.class] <br/>
 *                           2、如果用到了 @OneToOne ，fieldName 和 joinName
 *                           都需要填写，拿UserQueryCriteria.class举例:<br/>
 *                           应该是 @DataPermission(joinName = "dept", fieldName =
 *                           "id")
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface DataPermission {
    /**
     * Entity 中的字段名称
     */
    String fieldName() default "";

    /**
     * Entity 中与部门关联的字段名称
     */
    String joinName() default "";
}
